home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The PC-SIG Library 9
/
The PC-SIG Library on CD ROM - Ninth Edition.iso
/
301_400
/
DISK0324
/
DISK0324.ZIP
/
TSTATTR.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1984-06-09
|
1KB
|
61 lines
PROGRAM TST2;
VAR I,J,K:INTEGER;
FUNCTION WAITCHAR:INTEGER;
VAR I:INTEGER;
FUNCTION INKEY:INTEGER;
VAR I:BYTE;
BEGIN INLINE ($B4/$08/$CD/$21/$88/$46/I); INKEY:=I;
END; {INKEY}
BEGIN
I:=INKEY;
IF I=0 THEN WAITCHAR:=INKEY+256
ELSE WAITCHAR:=I;
END; {WAITCHAR}
PROCEDURE RULE(I:INTEGER);
VAR J,K:INTEGER;
BEGIN
GOTOXY(1,I);
FOR J:=1 TO 8 DO WRITE(J:9,'0');
GOTOXY(1,I+1);
FOR J:=1 TO 7 DO BEGIN
FOR K:=1 TO 4 DO WRITE(CHR(196));
WRITE(CHR(194));
FOR K:=1 TO 4 DO WRITE(CHR(196));
WRITE(CHR(197));
END;
FOR K:=1 TO 4 DO WRITE(CHR(196));
WRITE(CHR(194));
FOR K:=1 TO 4 DO WRITE(CHR(196));
WRITE(CHR(180));
END {RULE};
BEGIN
FOR I:=2 TO 17 DO BEGIN
K:=I*160;
FOR J:=13 TO 79 DO MEM[$B800:K+J*2]:=J+52;
END;
RULE(1);
I:=0;
WHILE I<256 DO BEGIN
GOTOXY(1,(I MOD 16)+3);
WRITE(I:3);
WRITE(' ');
FOR J:=0 TO 7 DO BEGIN
K:=7-J;
IF ((($01 SHL K) AND I) <> 0) THEN WRITE('1') ELSE WRITE('0');
END;
K:=((I MOD 16)+2)*160+1;
FOR J:=13 TO 79 DO MEM[$B800:K+J*2]:=I;
IF (I MOD 16)=15
THEN BEGIN
GOTOXY(1,20);
WRITE('Press ESCAPE to exit:');
IF WAITCHAR=27 THEN I:=256
END;
I:=I+1;
IF I=256 THEN I:=0;
END;
END.